package net.hserver.admin.monitor.util;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

public class FileUtil {
    public static String copyFileWithUUID(String filePath,String fileExtension) throws IOException {
        // 获取当前日期
        String date;
        date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());

        // 获取当前目录下的files目录
        File directory = new File("files/" + date);

        // 如果文件夹不存在，创建它
        if (!directory.exists()) {
            directory.mkdirs();
        }


        // 生成UUID作为新文件名
        String newFileName = UUID.randomUUID() + fileExtension;

        // 创建目标文件的路径
        Path targetPath = Paths.get(directory.getPath(), newFileName);

        // 复制文件到新的位置
        Files.copy(Paths.get(filePath), targetPath, StandardCopyOption.REPLACE_EXISTING);

        return targetPath.toString();
    }

    // 获取文件扩展名
    private static String getFileExtension(String filePath) {
        String fileExtension = "";
        int lastDotIndex = filePath.lastIndexOf(".");
        if (lastDotIndex != -1) {
            fileExtension = filePath.substring(lastDotIndex);
        }
        return fileExtension;
    }
}
